GtkMenuTracker: fix signal handler argument list
authorRyan Lortie <desrt@desrt.ca>
Thu, 5 Jun 2014 12:28:48 +0000 (08:28 -0400)
committerRyan Lortie <desrt@desrt.ca>
Thu, 5 Jun 2014 12:29:59 +0000 (08:29 -0400)
The signal handler for the visibility of menu items changing had the
wrong signature, resulting in the GParamSpec from the notify signal
being treated as a boolean (which was always true).  This resulted in
items being added over and over and never being removed.

Fix that...

gtk/gtkmenutracker.c

index dc6e5eb19afb21741023dbdc43a12fe70acf6d8b..46d87ebadc8ca71a50456dbff94a1ed2f8223df7 100644 (file)
@@ -220,14 +220,17 @@ gtk_menu_tracker_section_sync_separators (GtkMenuTrackerSection *section,
 
 static void
 gtk_menu_tracker_item_visibility_changed (GtkMenuTrackerItem *item,
-                                          gboolean            is_now_visible,
+                                          GParamSpec         *pspec,
                                           gpointer            user_data)
 {
   GtkMenuTracker *tracker = user_data;
   GtkMenuTrackerSection *section;
+  gboolean is_now_visible;
   gboolean was_visible;
   gint offset = 0;
 
+  is_now_visible = gtk_menu_tracker_item_get_is_visible (item);
+
   /* remember: the item is our model */
   section = gtk_menu_tracker_section_find_model (tracker->toplevel, item, &offset);